Today, more and more conventional telephone calls are transmitted via networks that were originally intended for data transfer. This provides a possibility of using packet-switched data transfer connections in which the cost of data communications is reasonably low also for voice calls. One example of such data communication networks is the Internet. In the Internet the connection information is generally defined or presented in some other way than a conventional telephone number. One possibility is to use IP addresses (Internet Protocol) throughout the connection establishment. Nowadays the most commonly used address protocol is IPv4 (Internet Protocol version 4), which unfortunately has a limited address space. That is why it will in the future be substituted by a version IPv6 (Internet Protocol version 6), which has a wider address space.
Typically dynamic IP addresses are used on the terminals. In the (W)LAN (Wireless Local Area Network) environment a protocol called DHCP (Dynamic Host Configuration Protocol) is used to assign addresses to clients when they are connected to the network. In cellular packet networks the IP addresses are typically assigned by lower layer (below IP level) protocols. Also in cellular packet networks the IP address given to the terminals is typically dynamic, and thus varies every time when a terminal is connected to the packet network. There exist prior-art techniques e.g. Mobile IP, which can provide static higher level IP addresses to the terminals even when the IP address seen by the access network is dynamic. With IPv6 there is possible to use static addresses inside the same network, but when the terminal is moved to another network e.g. home LAN instead of corporate LAN (as 131 versus 141 on FIG. 1 discussed later) the address has to be different to make IP level packet routing possible.
Another possible way of establishing a telecommunication connection in these data networks is to use SIP. The Session Initiation Protocol has been standardized by IETF (Internet Engineering Task Force), and its standard number is RFC 3261. The recipient's or user's address according to SIP is of the form: sip:user@network, i.e. it resembles the form of e-mail addresses. SIP is a control protocol which is used to tell to the other peer what actual IP address is used by the user at that particular time. SIP also provides address independency in different networks because the user URL (Uniform Resource Locator) is used as address instead of IP address.
It is expected that SIP based applications will emerge in the near future. Unfortunately SIP is not designed to work over Network Address Translator (NAT), which is currently needed to connect Intranets with local IP address range to the public Internet. This will limit the possibility to launch generic peer-to-peer applications using SIP protocol.
The main reason for using NATs in the Internet is the limited address space of the IPv4 protocol. For saving available IP addresses it is common to share an IP address or addresses in Intranet solutions. So inside a certain Intranet every terminal has its own local address, but towards the Internet several or all users have a common IP address. In the long run the emerging IPv6 will remove the need for address translations, but even then firewalls will be needed for security reasons. In the firewalls there is typically only part of the UDP (User Datagram Protocol) or TCP (Transmission Control Protocol) ports allowed, and for UDP ports the virtual connection i.e. the pinhole for UDP packets is based on an inactivity timer. The timer will release the connection after few tens of seconds of inactivity, e.g. a silent moment.
FIG. 1 depicts an example of the current situation. In the example of FIG. 1 hubs, switches or NATs 143 and NATs 113, 123a, 123b, 133 are used to discriminate local Intranets from the rest of a communication network 100. By that way is accomplished a sub-network differentiated from the Internet 111 by said NATs, which often are included in a hub, switch or router as a software application. NATs and firewalls are designed to work correctly with the most popular applications including for example web browser and email clients. These clients utilize TCP connection from the client to server. Because the TCP connection is stateful and established always from the client to the server direction, there is no need to apply inactivity timer.
In FIG. 1 is depicted an example of a multi-level communication network 100. It comprises several sub-networks 121, 122, 131, 141, 151 and 161. One of them is a home LAN with a reference sign 141. Several wireless 145 or conventional PCs (Personal Computers) can be connected to the home LAN 141. The home LAN 141 is connected via a cable or XDSL (Digital Subscriber Line) modem 146 to one Internet service provider's (ISP) Intranet 121. It is also possible that a computer 125 is connected directly via an XDSL or PSTN (Public Switched Telephone Network) modem 124 to some ISP Intranet 122.
In a corporate environment a corporate Intranet 131 is a usual way to handle computer communication inside the corporation. Said Intranet 131 is differentiated from the Internet 111 by a router 133 including a NAT and firewall. The corporate Intranet 131 can comprise of numberless PCs 135. So all above-mentioned ISP Intranets 121, 122 and corporate Intranets 131 are connected to the Internet 111 via routers 123a, 123b and 133, which usually have their own firewall and NAT.
It is clear from above that it is not easy to use SIP protocol in the Internet environment, which includes numerous NATs and firewalls. The reason for that is that the IP addresses negotiated with SIP are not from the same address space, exactly the same Intranet address is used in various Intranets and thus from other Intranet it is not possible to route packets to another Intranet.
Nowadays cellular terminals 165 can be connected 164 also to cellular networks 161 which utilize packet switching technology. Some examples of these networks 161 are GPRS (General Packet Radio Service), 3G (3 Generation) and 2.5 CDMA (Code Division Multiple Access) networks. In these networks 161 it is possible to transport information, pure data or voice, basically in the same way as in the Internet 111. That makes it possible to change information between a cellular terminal 165 located in a GPRS network 161 and a PC terminal 125, 135 or 145 connected to some Intranet or home LAN. This connection requires that the transferred information coming from for example GPRS network 161 goes via cellular service provider's Intranet 151. The operator Intranet is separated by a router 163 from the cellular network 161 and by a router or NAT 113 from the Internet 111. The router 113 between the operator Intranet 151 and the Internet 111 very often comprises a NAT and a firewall.
Inside the cellular system 161, GPRS or 3G, SIP protocol can be utilized without problems. There are no network elements which need some kind of address translation. So the operator Intranet 151 and cellular network 161 are connected in a way that allows utilizing local IP addresses negotiated with SIP in the operator network as a whole. The operator Intranet 151 advantageously includes a server 159, which functions as a SIP proxy/registrar controlling communication using SIP addresses inside the operator network. In practice, server 159 contains a lot of separate servers e.g. separate SIP proxies and registrar, or in IMS network (IP Multimedia Subsystem) also various other servers. For simplicity, in this example the server 159 is assumed to contain all required functionalities.
The address conversion problem described above arises if it is needed to establish a connection using SIP protocol from a cellular terminal 165 for example to a home PC connected to the Internet 111 for example via a couple of Intranets 141 and 121. Various solutions to this problem are proposed, which solutions unfortunately all have their own limitations. Some typical problems are that they need enhancements to the NAT or firewall boxes 113, 123 and 133 of the Internet service provider, a special server e.g. STUN (Simple Traversal of UDP through NATs) or TURN (Traversal Using Relay NAT) to be located on the Internet and/or that they need additional functionality on the SIP enabled clients or that they do not work properly if the media stream is not constant, i.e. they do not keep the UDP binding on the NAT or firewall alive.
It is also known to connect Intranets together using Virtual Private Network (VPN) technology. Technically thinking VPN connection from the workstation or from the Intranet (VPN router) to the service provider's Intranet solves the problem. But at the same time this solution generates some new ones:                Costs: For wide scale consumer usage e.g. hundred of thousand or millions of individual subscribers with their own VPN from a home PC instead of few VPN corporate routers require huge customer support effort.        Security: Having a VPN connection into the service provider's Intranet is a clear security risk.        Usability: In the remote client side the end user needs to have a VPN connection and a direct connection to the Intranet active at the same time. This yields to a challenging port level configuration of the VPN system, because for every application and media of the application the VPN tunnelling policy needs to be configured separately, i.e. a certain UDP or TCP port is routed to the VPN tunnel or to the public Internet. This is due to the fact that the VPN has no information about what ports are sued for SIP enabled applications and what are used by other applications.        
Applications utilizing TCP connection to bypass firewalls or NATs are also known, e.g. Real player, but they do that only for their own use, not provide access to generic SIP enabled application.